home *** CD-ROM | disk | FTP | other *** search
Text File | 1980-02-15 | 25.4 KB | 1,241 lines |
- >extern "df0:font",font,4352
- >extern "df0:angels",angels,4704
- >extern "df0:music",module
- org $50000
- load $50000
- s:
- start:
- movem.l d0-d7/a0-a6,-(a7)
- move.l 4,a6
- lea gfxname,a1
- jsr -408(a6)
- move.l d0,gfxbase
- jsr -132(a6)
- move.w #$03e0,$dff096
- lea $60000,a0
- loop1:
- move.l #0,(a0)+
- cmp.l #$7f000,a0
- bne loop1
-
- move.w #$87d0,$dff096
- move.l #$09f00000,$dff040
- move.l #$ffffffff,$dff044
- move.w #0,$dff064
- move.w #42,$dff066
- move.l #0,d5
- move.l #3,d7
- vertical:
- move.l #3,d6
- move.l #$60000,d2
- add.l d5,d2
- move.l #angels,d1
- horizontal:
- move.l d1,d3
- move.l d2,d4
- move.l #2,d0
- blitloop:
- move.l d3,$dff050
- move.l d4,$dff054
- move.w #$1c07,$dff058
- add.l #1568,d3
- add.l #25088,d4
- dbf d0,blitloop
- add.l #14,d2
- dbf d6,horizontal
- add.l #6272,d5
- dbf d7,vertical
- move.w #$03e0,$dff096
- bsr kies
- move.l #text,keeper
-
- lea lettercop,a0
- add.w #2,a0
- move.l #$72ffc,d0
- move.l #1,d3
- PlaneLoop3:
- swap d0
- move.w d0,(a0)
- add.w #4,a0
- swap d0
- move.w d0,(a0)
- add.w #4,a0
- add.l #8832,d0
- dbf d3,PlaneLoop3
-
- lea logopl,a0
- add.w #2,a0
- move.l #$60000,d0
- move.l #2,d3
- PlaneLoop:
- swap d0
- move.w d0,(a0)
- add.w #4,a0
- swap d0
- move.w d0,(a0)
- add.w #4,a0
- add.l #25088,d0
- dbf d3,PlaneLoop
-
- move.l #newcopper,$dff080
- clr.w $dff088
-
- move.l $6c,oldirq
- move.l #newirq,$6c
- bset #1,$bfe001 ; power on/off
- bsr init_music
- move.w #$87e0,$dff096
- move.b #$87,$bfd100
- loop:
- cmp.w #1,uit
- beq end
- btst #6,$bfe001
- bne loop
- end:
- bsr end_music
- move.l oldirq,$6C
- move.l gfxbase,a0
- move.l 38(a0),$dff080
- move.l 4,a6
- jsr -138(a6)
- move.l gfxbase,a1
- jsr -414(a6)
- movem.l (a7)+,d0-d7/a0-a6
- rts
-
- oldirq: dc.l 0
-
- newirq:
- movem.l d0-d6/a0-a6,-(a7)
- bsr play
- bsr scrollback
- goone:
- cmp.l #0,klaar
- bne back
- move.l verander,d0
- move.l d0,klaar
- ReturnScroll:
- clr.l d2
- move.l keeppos,a0
- move.w keepcount,d0
- add.w #2,keepcount
- add.w d0,a0
- move.w (a0),d2
- move.l keeper,d1
- move.l d1,keeper2
- add.l d2,keeper2
- move.l keeper2,a0
- move.b (a0),d4
-
- lea letters,a1
- lea adds,a2
- move.l #69,d6
- sub.l d5,d5
- move.w (a2)+,d5
- search:
- cmp.b (a1)+,d4
- beq place
- move.w (a2)+,d5
- sub.l #1,d6
- cmp.l #0,d6
- beq notfound
- bra search
- notfound:
- cmp.b #$FF,d4
- BNE.S back
- move.l #text,keeper
- move.w #0,keepcount
- move.w #0,sprcount
- BRA ReturnScroll
- back:
- sub.l #1,klaar
- sub.b #1,lamer
- cmp.b #0,lamer
- bne goone
- move.b #3,lamer
- backk:
- move.w #$70,$dff09c
- movem.l (a7)+,d0-d6/a0-a6
- rte
-
- kies:
- move.l #7,d7
- MOVEM.L D1-D2,-(A7)
- MOVE.W $DFF006,D2
- MOVE.L RND,D1
- SWAP D1
- EOR.W D2,D1
- MOVE.W D7,D2
- SUBQ.W #1,D2
- RANDOM2:
- ADD.L D1,D1
- BHI.S RANDOM3
- EOR.L #$1D872B41,D1
- RANDOM3:
- LSR.W #1,D2
- BNE.S RANDOM2
- MOVE.L D1,RND
- MULU D7,D1
- CLR.W D1
- SWAP D1
- MOVE.L D1,D7
- MOVEM.L (A7)+,D1-D2
- mulu #360,d7
- move.l #plaats,keeppos
- add.l d7,keeppos
- rts
-
- RND:DC.L "RAND"
-
- place:
- move.l keeppos,a0
- lea addspr,a2
- cmp.w #358,sprcount
- bne gospr1
- move.w #0,keepcount
- add.l #180,keeper
- move.l d1,keeper2
- move.l #2048,klaar
- bsr kies
- gospr1:
- cmp.w #360,sprcount
- bne gospr
- move.w #0,sprcount
- gospr:
- move.w sprcount,d0
- add.w d0,a0
- add.w #2,sprcount
- move.w (a0),d4
- mulu #2,d4
- add.w d4,a2
- move.w (a2),d4
- move.l #$09f00000,$dff040
- move.l #$ffffffff,$dff044
-
- move.l #font,d1
- move.l #$73000,d2
- move.w #32,$dff064
- move.w #44,$dff066
- add.l d5,d1
- add.l d4,d2
- move.l #1,d7
- sprloop:
- move.l d1,$dff050
- move.l d2,$dff054
- move.w #$401,$dff058
- add.l #2176,d1
- add.l #8832,d2
- dbf d7,sprloop
- bra back
-
- scrollback:
- clr.l d0
- clr.l d1
- clr.l d2
- clr.l d5
- cmp.b #112,scrollcounter
- bne goscroll
- move.b #0,scrollcounter
- goscroll:
- move.b scrollcounter,d0
- add.b #1,scrollcounter
- lea scrolladds,a0
- add.w d0,a0
- move.b (a0),d5 ;KEEP THE ADDS FOR THE VERTICAL SCROLL
- lea scrollsubs,a0
- add.w d0,a0
- move.b (a0),d0
- divu #16,d0
- swap d0
- move.w #15,d1
- lea shifter,a0
- add.w #2,a0
- sub.w d0,d1
- move.w d1,(a0) ;SHIFTER COPIED TO COPPERLIST
- mulu #56,d5 ;MULU HEIGHT
- move.l #$60000,d6
- add.l d5,d6
- swap d0
- mulu #2,d0
- add.w d0,d6 ;RIGHT BITPLANE POINTET FOUND FOR NOW!!!
- lea logopl,a0
- add.w #2,a0
- move.l #2,d7
- bitloop:
- swap d6
- move.w d6,(a0)
- add.w #4,a0
- swap d6
- move.w d6,(a0)
- add.w #4,a0
- add.l #25088,d6
- dbf d7,bitloop
- rts
- ;************************
- PLAY_MUSIC:
- bra.l PLAY
- END_MUSIC:
- clr.w onoff
- clr.l $dff0a6
- clr.l $dff0b6
- clr.l $dff0c6
- clr.l $dff0d6
- move.w #$000f,$dff096
- bclr #1,$bfe001
- rts
- INIT_MUSIC:
- move.w #1,onoff
- bset #1,$bfe001
- lea MODULE,a0
- lea 180(a0),a1
- move.l a1,SEQpoint
- move.l a0,a1
- add.l 8(a0),a1
- move.l a1,PATpoint
- move.l a0,a1
- add.l 16(a0),a1
- move.l a1,FRQpoint
- move.l a0,a1
- add.l 24(a0),a1
- move.l a1,VOLpoint
- move.l 4(a0),d0
- divu #13,d0
- lea 40(a0),a1
- lea SOUNDINFO+4(pc),a2
- moveq #10-1,d1
- initloop:
- move.w (a1)+,(a2)+
- move.l (a1)+,(a2)+
- adda.w #10,a2
- dbf d1,initloop
- move.l a0,d1
- add.l 32(a0),d1
- lea SOUNDINFO(pc),a3
- move.l d1,(a3)+
- moveq #9-1,d3
- moveq #0,d2
- initloop1:
- move.w (a3),d2
- add.l d2,d1
- add.l d2,d1
- addq.l #2,d1
- adda.w #12,a3
- move.l d1,(a3)+
- dbf d3,initloop1
- lea 100(a0),a1
- lea SOUNDINFO+[10*16](pc),a2
- move.l a0,a3
- add.l 36(a0),a3
- moveq #80-1,d1
- moveq #0,d2
- initloop2:
- move.l a3,(a2)+
- move.b (a1)+,d2
- move.w d2,(a2)+
- clr.w (a2)+
- move.w d2,(a2)+
- addq.w #6,a2
- add.w d2,a3
- add.w d2,a3
- dbf d1,initloop2
- move.l SEQpoint(pc),a0
- moveq #0,d2
- move.b 12(a0),d2 ;Get replay speed
- bne.s speedok
- move.b #3,d2 ;Set default speed
- speedok:
- move.w d2,respcnt ;Init repspeed counter
- move.w d2,repspd
- INIT2:
- clr.w audtemp
- move.w #$000f,$dff096 ;Disable audio DMA
- move.w #$0780,$dff09a ;Disable audio IRQ
- moveq #0,d7
- mulu #13,d0
- moveq #4-1,d6 ;Number of soundchannels-1
- lea V1data(pc),a0 ;Point to 1st voice data area
- lea silent(pc),a1
- lea Chandata(pc),a2
- initloop3:
- move.l a1,10(a0)
- move.l a1,18(a0)
- clr.w 4(a0)
- move.w #$000d,6(a0)
- clr.w 8(a0)
- clr.l 14(a0)
- move.b #$01,23(a0)
- move.b #$01,24(a0)
- clr.b 25(a0)
- clr.l 26(a0)
- clr.w 30(a0)
- clr.l 38(a0)
- clr.w 42(a0)
- clr.l 44(a0)
- clr.l 48(a0)
- clr.w 56(a0)
- moveq #$00,d3
- move.w (a2)+,d1
- move.w (a2),d3
- divu #$0003,d3
- moveq #0,d4
- bset d3,d4
- move.w d4,32(a0)
- move.w (a2)+,d3
- andi.l #$00ff,d3
- andi.l #$00ff,d1
- lea $dff0a0,a6
- add.w d1,a6
- move.l #$0000,(a6)
- move.w #$0100,4(a6)
- move.w #$0000,6(a6)
- move.w #$0000,8(a6)
- move.l a6,60(a0)
- move.l SEQpoint(pc),(a0)
- move.l SEQpoint(pc),52(a0)
- add.l d0,52(a0)
- add.l d3,52(a0)
- add.l d7,(a0)
- add.l d3,(a0)
- move.l (a0),a3
- move.b (a3),d1
- andi.l #$00ff,d1
- lsl.w #6,d1
- move.l PATpoint(pc),a4
- adda.w d1,a4
- move.l a4,34(a0)
- move.b 1(a3),44(a0)
- move.b 2(a3),22(a0)
- lea $4a(a0),a0 ;Point to next voice's data area
- dbf d6,initloop3
- rts
- PLAY:
- lea audtemp(pc),a5
- tst.w 8(a5)
- bne.s music_on
- rts
- music_on:
- subq.w #1,4(a5) ;Decrease replayspeed counter
- bne.s nonewnote
- move.w 6(a5),4(a5) ;Restore replayspeed counter
- moveq #0,d5
- moveq #6,d6
- lea V1data(pc),a0 ;Point to voice1 data area
- bsr.L new_note
- lea V2data(pc),a0 ;Point to voice2 data area
- bsr.L new_note
- lea V3data(pc),a0 ;Point to voice3 data area
- bsr.L new_note
- lea V4data(pc),a0 ;Point to voice4 data area
- bsr.L new_note
- nonewnote:
- clr.w (a5)
- lea $dff000,a6
- lea V1data(pc),a0
- bsr.L effects
- move.l d0,$a6(a6)
- lea V2data(pc),a0
- bsr.L effects
- move.l d0,$b6(a6)
- lea V3data(pc),a0
- bsr.L effects
- move.l d0,$c6(a6)
- lea V4data(pc),a0
- bsr.L effects
- move.l d0,$d6(a6)
- lea V1data(pc),a0
- move.l 68+[0*74](a0),a1 ;Get samplepointer
- adda.w 64+[0*74](a0),a1 ;add repeat_start
- move.l 68+[1*74](a0),a2
- adda.w 64+[1*74](a0),a2
- move.l 68+[2*74](a0),a3
- adda.w 64+[2*74](a0),a3
- move.l 68+[3*74](a0),a4
- adda.w 64+[3*74](a0),a4
- move.w 66+[0*74](a0),d1 ;Get repeat_length
- move.w 66+[1*74](a0),d2
- move.w 66+[2*74](a0),d3
- move.w 66+[3*74](a0),d4
- moveq #2,d0
- moveq #0,d5
- move.w (a5),d7
- ori.w #$8000,d7 ;Set/clr bit = 1
- move.w d7,$dff096 ;Enable audio DMA
- chan1:
- lea V1data+72(pc),a0
- move.w (a0),d7
- beq.s chan2
- subq.w #1,(a0)
- cmp.w d0,d7
- bne.s chan2
- move.w d5,(a0)
- move.l a1,$a0(a6) ;Set samplestart
- move.w d1,$a4(a6) ;Set samplelength
- chan2:
- lea V2data+72(pc),a0
- move.w (a0),d7
- beq.s chan3
- subq.w #1,(a0)
- cmp.w d0,d7
- bne.s chan3
- move.w d5,(a0)
- move.l a2,$b0(a6)
- move.w d2,$b4(a6)
- chan3:
- lea V3data+72(pc),a0
- move.w (a0),d7
- beq.s chan4
- subq.w #1,(a0)
- cmp.w d0,d7
- bne.s chan4
- move.w d5,(a0)
- move.l a3,$c0(a6)
- move.w d3,$c4(a6)
- chan4:
- lea V4data+72(pc),a0
- move.w (a0),d7
- beq.s endplay
- subq.w #1,(a0)
- cmp.w d0,d7
- bne.s endplay
- move.w d5,(a0)
- move.l a4,$d0(a6)
- move.w d4,$d4(a6)
- endplay:
- rts
- NEW_NOTE:
- move.l 34(a0),a1
- adda.w 40(a0),a1
- cmp.b #$49,(a1) ;Check "END" mark in pattern
- beq.s patend
- cmp.w #64,40(a0) ;Have all the notes been played?
- bne.L samepat
- patend:
- move.w d5,40(a0)
- move.l (a0),a2
- adda.w 6(a0),a2 ;Point to next sequence row
- cmpa.l 52(a0),a2 ;Is it the end?
- bne.s notend
- move.w d5,6(a0) ;yes!
- move.l (a0),a2 ;Point to first sequence
- notend:
- lea spdtemp(pc),a3
- moveq #1,d1
- addq.b #1,(a3)
- cmpi.b #5,(a3)
- bne.s nonewspd
- move.b d1,(a3)
- move.b 12(a2),d1 ;Get new replay speed
- beq.s nonewspd
- move.w d1,2(a3) ;store in counter
- move.w d1,4(a3)
- nonewspd:
- move.b (a2)+,d1 ;Pattern to play
- move.b (a2)+,44(a0) ;Transpose value
- move.b (a2)+,22(a0) ;Soundtranspose value
- lsl.w d6,d1
- move.l PATpoint(pc),a1 ;Get pattern pointer
- add.w d1,a1
- move.l a1,34(a0)
- addi.w #$000d,6(a0)
- samepat:
- move.b 1(a1),d1 ;Get info byte
- move.b (a1)+,d0 ;Get note
- bne.s ww1
- andi.w #%11000000,d1
- beq.s noport
- bra.s ww11
- ww1:
- move.w d5,56(a0)
- ww11:
- move.b d5,47(a0)
- btst #7,d1
- beq.s noport
- move.b 2(a1),47(a0)
- noport:
- andi.w #$007f,d0
- beq.L nextnote
- move.b d0,8(a0)
- move.b (a1),d1
- move.b d1,9(a0)
- move.w 32(a0),d3
- or.w d3,(a5)
- move.w d3,$dff096
- andi.w #$003f,d1 ;Max 64 instruments
- add.b 22(a0),d1 ;add Soundtranspose
- move.l VOLpoint(pc),a2
- lsl.w d6,d1
- adda.w d1,a2
- move.w d5,16(a0)
- move.b (a2),23(a0)
- move.b (a2)+,24(a0)
- moveq #0,d1
- move.b (a2)+,d1
- move.b (a2)+,27(a0)
- move.b #$40,46(a0)
- move.b (a2),28(a0)
- move.b (a2)+,29(a0)
- move.b (a2)+,30(a0)
- move.l a2,10(a0)
- move.l FRQpoint(pc),a2
- lsl.w d6,d1
- adda.w d1,a2
- move.l a2,18(a0)
- move.w d5,50(a0)
- move.b d5,25(a0)
- move.b d5,26(a0)
- nextnote:
- addq.w #2,40(a0)
- rts
- EFFECTS:
- moveq #0,d7
- testsustain:
- tst.b 26(a0) ;Is sustain counter = 0
- beq.s sustzero
- subq.b #1,26(a0) ;if no, decrease counter
- bra.L VOLUfx
- sustzero: ;Next part of effect sequence
- move.l 18(a0),a1 ;can be executed now.
- adda.w 50(a0),a1
- testeffects:
- cmpi.b #$e1,(a1) ;E1 = end of FREQseq sequence
- beq.L VOLUfx
- move.b (a1),d0
- cmpi.b #$e0,d0 ;E0 = loop to other part of sequence
- bne.s testnewsound
- move.b 1(a1),d1 ;loop to start of sequence + 1(a1)
- andi.w #$003f,d1
- move.w d1,50(a0)
- move.l 18(a0),a1
- adda.w d1,a1
- move.b (a1),d0
- testnewsound:
- cmpi.b #$e2,d0 ;E2 = set waveform
- bne.s testE4
- move.w 32(a0),d1
- or.w d1,(a5)
- move.w d1,$dff096
- moveq #0,d0
- move.b 1(a1),d0
- lea SOUNDINFO(pc),a4
- lsl.w #4,d0
- adda.w d0,a4
- move.l 60(a0),a3
- move.l (a4)+,d1
- move.l d1,(a3)
- move.l d1,68(a0)
- move.w (a4)+,4(a3)
- move.l (a4),64(a0)
- move.w #$0003,72(a0)
- move.w d7,16(a0)
- move.b #$01,23(a0)
- addq.w #2,50(a0)
- bra.L transpose
- testE4:
- cmpi.b #$e4,d0
- bne.s testE9
- moveq #0,d0
- move.b 1(a1),d0
- lea SOUNDINFO(pc),a4
- lsl.w #4,d0
- adda.w d0,a4
- move.l 60(a0),a3
- move.l (a4)+,d1
- move.l d1,(a3)
- move.l d1,68(a0)
- move.w (a4)+,4(a3)
- move.l (a4),64(a0)
- move.w #$0003,72(a0)
- addq.w #2,50(a0)
- bra.L transpose
- testE9:
- cmpi.b #$e9,d0
- bne testpatjmp
- move.w 32(a0),d1
- or.w d1,(a5)
- move.w d1,$dff096
- moveq #0,d0
- move.b 1(a1),d0
- lea SOUNDINFO(pc),a4
- lsl.w #4,d0
- adda.w d0,a4
- move.l (a4),a2
- cmpi.l #"SSMP",(a2)+
- bne.s nossmp
- lea 320(a2),a4
- moveq #0,d1
- move.b 2(a1),d1
- lsl.w #4,d1
- add.w d1,a2
- add.l (a2),a4
- move.l 60(a0),a3
- move.l a4,(a3)
- move.l 4(a2),4(a3)
- move.l a4,68(a0)
- move.l 6(a2),64(a0)
- move.w d7,16(a0)
- move.b #1,23(a0)
- move.w #3,72(a0)
- nossmp:
- addq.w #3,50(a0)
- bra.s transpose
- testpatjmp:
- cmpi.b #$e7,d0
- bne.s testpitchbend
- moveq #0,d0
- move.b 1(a1),d0
- lsl.w d6,d0
- move.l FRQpoint(pc),a1
- adda.w d0,a1
- move.l a1,18(a0)
- move.w d7,50(a0)
- bra.L testeffects
- testpitchbend:
- cmpi.b #$ea,d0
- bne.s testnewsustain
- move.b 1(a1),4(a0)
- move.b 2(a1),5(a0)
- addq.w #3,50(a0)
- bra.s transpose
- testnewsustain:
- cmpi.b #$e8,d0
- bne.s testnewvib
- move.b 1(a1),26(a0)
- addq.w #2,50(a0)
- bra.L testsustain
- testnewvib:
- cmpi.b #$e3,(a1)+
- bne.s transpose
- addq.w #3,50(a0)
- move.b (a1)+,27(a0)
- move.b (a1),28(a0)
- transpose:
- move.l 18(a0),a1
- adda.w 50(a0),a1
- move.b (a1),43(a0)
- addq.w #1,50(a0)
- VOLUfx:
- tst.b 25(a0)
- beq.s volsustzero
- subq.b #1,25(a0)
- bra.L calcperiod
- volsustzero:
- tst.b 15(a0)
- bne.s do_VOLbend
- subq.b #1,23(a0)
- bne.s calcperiod
- move.b 24(a0),23(a0)
- volu_cmd:
- move.l 10(a0),a1
- adda.w 16(a0),a1
- move.b (a1),d0
- testvoluend:
- cmpi.b #$e1,d0
- beq.s calcperiod
- cmpi.b #$ea,d0
- bne.s testVOLsustain
- move.b 1(a1),14(a0)
- move.b 2(a1),15(a0)
- addq.w #3,16(a0)
- bra.s do_VOLbend
- testVOLsustain:
- cmpi.b #$e8,d0
- bne.s testVOLloop
- addq.w #2,16(a0)
- move.b 1(a1),25(a0)
- bra.s calcperiod
- testVOLloop:
- cmpi.b #$e0,d0
- bne.s setvolume
- move.b 1(a1),d0
- andi.w #$003f,d0
- subq.b #5,d0
- move.w d0,16(a0)
- bra.s volu_cmd
- do_VOLbend:
- not.b 38(a0)
- beq.s calcperiod
- subq.b #1,15(a0)
- move.b 14(a0),d1
- add.b d1,45(a0)
- bpl.s calcperiod
- moveq #0,d1
- move.b d1,15(a0)
- move.b d1,45(a0)
- bra.s calcperiod
- setvolume:
- move.b (a1),45(a0)
- addq.w #1,16(a0)
- calcperiod:
- move.b 43(a0),d0
- bmi.s lockednote
- add.b 8(a0),d0
- add.b 44(a0),d0
- lockednote:
- moveq #$7f,d1
- and.l d1,d0
- lea PERIODS(pc),a1
- add.w d0,d0
- move.w d0,d1
- adda.w d0,a1
- move.w (a1),d0
- move.b 46(a0),d7
- tst.b 30(a0) ;Vibrato_delay = zero ?
- beq.s vibrator
- subq.b #1,30(a0)
- bra.s novibrato
- vibrator:
- moveq #5,d2
- move.b d1,d5
- move.b 28(a0),d4
- add.b d4,d4
- move.b 29(a0),d1
- tst.b d7
- bpl.s vib1
- btst #0,d7
- bne.s vib4
- vib1:
- btst d2,d7
- bne.s vib2
- sub.b 27(a0),d1
- bcc.s vib3
- bset d2,d7
- moveq #0,d1
- bra.s vib3
- vib2:
- add.b 27(a0),d1
- cmp.b d4,d1
- bcs.s vib3
- bclr d2,d7
- move.b d4,d1
- vib3:
- move.b d1,29(a0)
- vib4:
- lsr.b #1,d4
- sub.b d4,d1
- bcc.s vib5
- subi.w #$0100,d1
- vib5:
- addi.b #$a0,d5
- bcs.s vib7
- vib6:
- add.w d1,d1
- addi.b #$18,d5
- bcc.s vib6
- vib7:
- add.w d1,d0
- novibrato:
- eori.b #$01,d7
- move.b d7,46(a0)
- not.b 39(a0)
- beq.s pitchbend
- moveq #0,d1
- move.b 47(a0),d1 ;get portavalue
- beq.s pitchbend ;0=no portamento
- cmpi.b #$1f,d1
- bls.s portaup
- portadown:
- andi.w #$1f,d1
- neg.w d1
- portaup:
- sub.w d1,56(a0)
- pitchbend:
- not.b 42(a0)
- beq.s addporta
- tst.b 5(a0)
- beq.s addporta
- subq.b #1,5(a0)
- moveq #0,d1
- move.b 4(a0),d1
- bpl.s pitchup
- ext.w d1
- pitchup:
- sub.w d1,56(a0)
- addporta:
- add.w 56(a0),d0
- cmpi.w #$0070,d0
- bhi.s nn1
- move.w #$0071,d0
- nn1:
- cmpi.w #$0d60,d0
- bls.s nn2
- move.w #$0d60,d0
- nn2:
- swap d0
- move.b 45(a0),d0
- rts
- V1data: blk.b 64,0 ;Voice 1 data area
- offset1: blk.b 02,0 ;Is added to start of sound
- ssize1: blk.b 02,0 ;Length of sound
- start1: blk.b 06,0 ;Start of sound
- V2data: blk.b 64,0 ;Voice 2 data area
- offset2: blk.b 02,0
- ssize2: blk.b 02,0
- start2: blk.b 06,0
- V3data: blk.b 64,0 ;Voice 3 data area
- offset3: blk.b 02,0
- ssize3: blk.b 02,0
- start3: blk.b 06,0
- V4data: blk.b 64,0 ;Voice 4 data area
- offset4: blk.b 02,0
- ssize4: blk.b 02,0
- start4: blk.b 06,0
- audtemp: dc.w 0 ;DMACON
- spdtemp: dc.w 0
- respcnt: dc.w 0 ;Replay speed counter
- repspd: dc.w 0 ;Replay speed counter temp
- onoff: dc.w 0 ;Music on/off flag.
- Chandata: dc.l $00000000,$00100003,$00200006,$00300009
- SEQpoint: dc.l 0
- PATpoint: dc.l 0
- FRQpoint: dc.l 0
- VOLpoint: dc.l 0
- SILENT: dc.w $0100,$0000,$0000,$00e1
- PERIODS:dc.w $06b0,$0650,$05f4,$05a0,$054c,$0500,$04b8,$0474
- dc.w $0434,$03f8,$03c0,$038a,$0358,$0328,$02fa,$02d0
- dc.w $02a6,$0280,$025c,$023a,$021a,$01fc,$01e0,$01c5
- dc.w $01ac,$0194,$017d,$0168,$0153,$0140,$012e,$011d
- dc.w $010d,$00fe,$00f0,$00e2,$00d6,$00ca,$00be,$00b4
- dc.w $00aa,$00a0,$0097,$008f,$0087,$007f,$0078,$0071
- dc.w $0071,$0071,$0071,$0071,$0071,$0071,$0071,$0071
- dc.w $0071,$0071,$0071,$0071,$0d60,$0ca0,$0be8,$0b40
- dc.w $0a98,$0a00,$0970,$08e8,$0868,$07f0,$0780,$0714
- dc.w $1ac0,$1940,$17d0,$1680,$1530,$1400,$12e0,$11d0
- dc.w $10d0,$0fe0,$0f00,$0e28,$06b0,$0650,$05f4,$05a0
- dc.w $054c,$0500,$04b8,$0474,$0434,$03f8,$03c0,$038a
- dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c,$023a
- dc.w $021a,$01fc,$01e0,$01c5,$01ac,$0194,$017d,$0168
- dc.w $0153,$0140,$012e,$011d,$010d,$00fe,$00f0,$00e2
- dc.w $00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097,$008f
- dc.w $0087,$007f,$0078,$0071
- SOUNDINFO:
- ;Start.l , Length.w , Repeat start.w , Repeat-length.w , blk.b 6,0
- blk.b 10*16,0 ;Reserved for samples
- blk.b 80*16,0 ;Reserved for waveforms
- ;************************
- newcopper:
- dc.l $01200007,$01228000,$01240007,$01268000
- dc.l $01280007,$012a8000,$012c0007,$012e8000
- dc.l $01300007,$01328000,$01340007,$01368000
- dc.l $01380007,$013a8000,$013c0007,$013e8000
- dc.l $008e1f78,$00901cc1
- dc.l $00920028,$009400d8
- dc.l $0108000a
- dc.l $010a0000
- shifter:
- dc.l $01020000
- dc.l $01040040
- dc.l $01800000,$01820000,$0184000b,$0186022b
- dc.l $0188034c,$018a056d,$018c088d,$018e0aae
- dc.l $01900000,$01920999,$01940666,$01960444
- dc.l $01005600
- logopl:
- dc.l $00e00000,$00e20000
- dc.l $00e80000,$00ea0000
- dc.l $00f00000,$00f20000
- dc.l $00e40007,$00e68000
- dc.l $00ec0007,$00ee8000
- dc.l $6009fffe
- lettercop:
- dc.l $00e40000,$00e60000
- dc.l $00ec0000,$00ee0000
- dc.l $ff09fffe
- dc.l $00e40007,$00e68000
- dc.l $00ec0007,$00ee8000
- dc.l $fffffffe
-
- oldcopper:
- dc.l 0
- even
- gfxname: dc.b "graphics.library",0
- even
- gfxbase:
- dc.l 0
- even
- ;ONLY USE THIS CHARS...
- ;ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,'!?()-/abcdefghijk+%:<>
- ;a = BLOK
- ;j = LETTER
- ;k = PHONE
- ;<> = WINGS !!!
- ;USE AS MANY SCREENS AS YOU WANT... BEWARE... EACH LINE HAS 40 CHARS
- ;EACH SCREEN HAS 9 LINES !!!!!!!!!
-
- text:
- dc.b " biiiiiiiiiiiih "
- dc.b " c < ANGELS > g "
- dc.b " deeeeeeeeeeeef "
- dc.b " "
- dc.b " PRESENTS "
- dc.b " ANOTHER COOL "
- dc.b " "
- dc.b " CRACK! "
- dc.b " "
-
- dc.b " k CALL OUR BBS'S k "
- dc.b "--------------------"
- dc.b " "
- dc.b " JUST PUT "
- dc.b " THE BBS "
- dc.b " NUMBERS "
- dc.b " IN HERE !"
- dc.b " "
- dc.b " "
-
- dc.b " j OR WRITE TO j "
- dc.b " "
- dc.b "P.O.BOX 10, OBERCORN"
- dc.b " LUXEMBURG "
- dc.b " "
- dc.b " P.O.BOX 31, 9910 "
- dc.b "MARIAKERKE, BELGIUM "
- dc.b " "
- dc.b " "
-
- dc.b " TRASH CODING BY "
- dc.b " "
- dc.b " "
- dc.b " < VINNY > "
- dc.b " "
- dc.b " "
- dc.b "GREETZ TO ALL ANGELS"
- dc.b " MEMBERS. "
- dc.b " "
-
- dc.b " "
- dc.b " INTRO DONE BY "
- dc.b " "
- dc.b " "
- dc.b " ZAK'N VINNY "
- dc.b " "
- dc.b " "
- dc.b " "
- dc.b " < THE END > "
- blk.b 180,$ff
- even
-
- letters:
- dc.b "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,'!?()-/abcdefghijk"
- dc.b "+%:<> "
- even
-
- VINNY:
- dc.l $54484953,$20434f4f,$4c20494e,$54524f20
- dc.l $57415320,$434f4445,$44204259,$2056494e
- dc.l $4e592e2e,$2e205448,$45205649,$4e2d4d41
- dc.l $4e2e2e2e,$20475245,$45545a20,$544f2041
- dc.l $4c4c204f,$54484552,$204d454d,$42455253
- dc.l $20212121
-
- adds:
- dc.w $0000,$0002,$0004,$0006,$0008,$000a,$000c,$000e
- dc.w $0010,$0012,$0014,$0016,$0018,$001a,$001c,$001e,$0020
- dc.w $0220,$0222,$0224,$0226,$0228,$022a,$022c,$022e
- dc.w $0230,$0232,$0234,$0236,$0238,$023a,$023c,$023e,$0240
- dc.w $0440,$0442,$0444,$0446,$0448,$044a,$044c,$044e
- dc.w $0450,$0452,$0454,$0456,$0458,$045a,$045c,$045e,$0460
- dc.w $0660,$0662,$0664,$0666,$0668,$066a,$066c,$066e
- dc.w $0670,$0672,$0674,$0676,$0678
- even
-
- addspr:
- dc.w 0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38
- dc.w 736,738,740,742,744,746,748,750,752,754,756,758,760,762
- dc.w 764,766,768,770,772,774
- dc.w $5c0,$5c2,$5c4,$5c6,$5c8,$5ca,$5cc,$5ce,$5d0,$5d2
- dc.w $5d4,$5d6,$5d8,$5da,$5dc,$5de,$5e0,$5e2,$5e4,$5e6
- dc.w $8a0,$8a2,$8a4,$8a6,$8a8,$8aa,$8ac,$8ae,$8b0,$8b2
- dc.w $8b4,$8b6,$8b8,$8ba,$8bc,$8be,$8c0,$8c2,$8c4,$8c6
- dc.w $b80,$b82,$b84,$b86,$b88,$b8a,$b8c,$b8e,$b90,$b92
- dc.w $b94,$b96,$b98,$b9a,$b9c,$b9e,$ba0,$ba2,$ba4,$ba6
- dc.w $e60,$e62,$e64,$e66,$e68,$e6a,$e6c,$e6e,$e70,$e72
- dc.w $e74,$e76,$e78,$e7a,$e7c,$e7e,$e80,$e82,$e84,$e86
- dc.w $1140,$1142,$1144,$1146,$1148,$114a,$114c,$114e,$1150,$1152
- dc.w $1154,$1156,$1158,$115a,$115c,$115e,$1160,$1162,$1164,$1166
- dc.w $1420,$1422,$1424,$1426,$1428,$142a,$142c,$142e,$1430,$1432
- dc.w $1434,$1436,$1438,$143a,$143c,$143e,$1440,$1442,$1444,$1446
- dc.w $1700,$1702,$1704,$1706,$1708,$170a,$170c,$170e,$1710,$1712
- dc.w $1714,$1716,$1718,$171a,$171c,$171e,$1720,$1722,$1724,$1726
- sprcount:
- dc.w 0
-
- plaats:
- dc.w 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
- dc.w 20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
- dc.w 40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59
- dc.w 60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79
- dc.w 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99
- dc.w 100,101,102,103,104,105,106,107,108,109,110,111,112,113
- dc.w 114,115,116,117,118,119
- dc.w 120,121,122,123,124,125,126,127,128,129,130,131,132,133
- dc.w 134,135,136,137,138,139
- dc.w 140,141,142,143,144,145,146,147,148,149,150,151,152,153
- dc.w 154,155,156,157,158,159
- dc.w 160,161,162,163,164,165,166,167,168,169,170,171,172,173
- dc.w 174,175,176,177,178,179
-
- plaats2:
- dc.w 0
- dc.w 20,1
- dc.w 40,21,2
- dc.w 60,41,22,3
- dc.w 80,61,42,23,4
- dc.w 100,81,62,43,24,5
- dc.w 120,101,82,63,44,25,6
- dc.w 140,121,102,83,64,45,26,7
- dc.w 160,141,122,103,84,65,46,27,8
- dc.w 161,142,123,104,85,66,47,28,9
- dc.w 162,143,124,105,86,67,48,29,10
- dc.w 163,144,125,106,87,68,49,30,11
- dc.w 164,145,126,107,88,69,50,31,12
- dc.w 165,146,127,108,89,70,51,32,13
- dc.w 166,147,128,109,90,71,52,33,14
- dc.w 167,148,129,110,91,72,53,34,15
- dc.w 168,149,130,111,92,73,54,35,16
- dc.w 169,150,131,112,93,74,55,36,17
- dc.w 170,151,132,113,94,75,56,37,18
- dc.w 171,152,133,114,95,76,57,38,19
- dc.w 172,153,134,115,96,77,58,39
- dc.w 173,154,135,116,97,78,59
- dc.w 174,155,136,117,98,79
- dc.w 175,156,137,118,99
- dc.w 176,157,138,119
- dc.w 177,158,139
- dc.w 178,159
- dc.w 179
-
-
- plaats3:
- dc.w 90,89,69,70,71,91,111,110,109,108,88,68,48,49,50,51,52
- dc.w 72,92,112,132,131,130,129,128,127,107,87,67,47,27
- dc.w 28,29,30,31,32,33,53,73,93,113,133,153,152,151,150
- dc.w 149,148,147,146,126,106,86,66,46,26,6,7,8,9,10,11,12,13,14
- dc.w 34,54,74,94,114,134,154,174,173,172,171,170,169,168,167
- dc.w 166,165,145,125,105,85,65,45,25,5
- dc.w 15,35,55,75,95,115,135,155,175
- dc.w 164,144,124,104,84,64,44,24,4
- dc.w 16,36,56,76,96,116,136,156,176
- dc.w 163,143,123,103,83,63,43,23,3
- dc.w 17,37,57,77,97,117,137,157,177
- dc.w 162,142,122,102,82,62,42,22,2
- dc.w 18,38,58,78,98,118,138,158,178
- dc.w 161,141,121,101,81,61,41,21,1
- dc.w 19,39,59,79,99,119,139,159,179
- dc.w 160,140,120,100,80,60,40,20,0
-
- plaats4:
- dc.w 179,0,178,1,177,2,176,3,175,4,174,5,173,6,172,7,171,8,170,9
- dc.w 169,10,168,11,167,12,166,13,165,14,164,15,163,16,162,17,161
- dc.w 18,160,19
- dc.w 140,39,141,38,142,37,143,36,144,35,145,34,146,33,147,32
- dc.w 148,31,149,30,150,29,151,28,152,27,153,26,154,25,155,24
- dc.w 156,23,157,22,158,21,159,20
- dc.w 139,40,138,41,137,42,136,43,135,44,134,45,133,46,132,47,131
- dc.w 48,130,49,129,50,128,51,127,52,126,53,125,54,124,55,123,56
- dc.w 122,57,121,58,120,59
- dc.w 100,79,101,78,102,77,103,76,104,75,105,74,106,73,107,72,108
- dc.w 71,109,70,110,69,111,68,112,67,113,66,114,65,115,64,116,63
- dc.w 117,62,118,61,119,60
- dc.w 99,80,98,81,97,82,96,83,95,84,94,85,93,86,92,87,91,88,90,89
-
- plaats5:
- dc.w 0,161,20,141,40,121,60,101,80,81,100,61,120,41,140,21,160,1
- dc.w 2,163,22,143,42,123,62,103,82,83,102,63,122,43,142,23,162,3
- dc.w 4,165,24,145,44,125,64,105,84,85,104,65,124,45,144,25,164,5
- dc.w 6,167,26,147,46,127,66,107,86,87,106,67,126,47,146,27,166,7
- dc.w 8,169,28,149,48,129,68,109,88,89,108,69,128,49,148,29,168,9
- dc.w 10,171,30,151,50,131,70,111,90,91,110,71,130,51,150,31,170,11
- dc.w 12,173,32,153,52,133,72,113,92,93,112,73,132,53,152,33,172,13
- dc.w 14,175,34,155,54,135,74,115,94,95,114,75,134,55,154,35,174,15
- dc.w 16,177,36,157,56,137,76,117,96,97,116,77,136,57,156,37,176,17
- dc.w 18,179,38,159,58,139,78,119,98,99,118,79,138,59,158,39,178,19
-
- plaats6:
- dc.w 2,22,42,41,40,20,0,1,21
- dc.w 5,25,45,44,43,23,3,4,24
- dc.w 8,28,48,47,46,26,6,7,27
- dc.w 11,31,51,50,49,29,9,10,30
- dc.w 14,34,54,53,52,32,12,13,33
- dc.w 17,37,57,56,55,35,15,16,36
- dc.w 19,39,59,58,38,18
- dc.w 62,82,102,101,100,80,60,61,81
- dc.w 65,85,105,104,103,83,63,64,84
- dc.w 68,88,108,107,106,86,66,67,87
- dc.w 71,91,111,110,109,89,69,70,90
- dc.w 74,94,114,113,112,92,72,73,93
- dc.w 77,97,117,116,115,95,75,76,96
- dc.w 79,99,119,118,98,78
- dc.w 122,142,162,161,160,140,120,121,141
- dc.w 125,145,165,164,163,143,123,124,144
- dc.w 128,148,168,167,166,146,126,127,147
- dc.w 131,151,171,170,169,149,129,130,150
- dc.w 134,154,174,173,172,152,132,133,153
- dc.w 137,157,177,176,175,155,135,136,156
- dc.w 139,159,179,178,158,138
-
-
- plaats7:
- dc.w 92,46,124,59,136,150,29,1,101,15,55,6,107,99,153,165,23
- dc.w 60,12,114,49,85,97,128,160,21,52,148,17,179,175,63,11,110
- dc.w 35,142,58,152,169,4,156,74,103,31,89,162,67,119,10,112,71
- dc.w 22,123,108,33,98,154,131,82,0,27,146,95,149,64,26,113,177
- dc.w 104,140,116,76,7,66,100,61,115,48,126,134,139,172,143,42
- dc.w 19,30,129,138,44,147,50,121,133,37,25,122,159,166,24,16,2
- dc.w 158,120,88,94,79,170,163,86,9,111,34,20,174,81,39,28,145
- dc.w 70,62,105,38,32,155,91,144,40,161,171,168,83,73,118,53
- dc.w 14,45,137,57,141,102,36,8,173,65,178,3,18,78,106,5,132,164
- dc.w 56,127,77,157,41,167,54,68,135,80,43,96,84,13,125,117,47
- dc.w 75,87,51,151,109,93,69,72,90,130,176
-
- keeper:
- dc.l 0
- klaar:
- dc.l 1
- verander:
- dc.l 1
- test:
- dc.b 1
- even
- blk.b 100,0
- kloot:
- dc.w 0
- checkg:
- dc.b 0
- even
- keeper2:
- dc.l 0
- keeper3:
- dc.l 0
- keeppos:
- dc.l 0
- keepcount:
- dc.w 0
- uit:
- dc.w 0
- scrollcounter:
- dc.b 0
- scrolladds:
- dc.b 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
- dc.b 23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41
- dc.b 42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60
- dc.b 61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79
- dc.b 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98
- dc.b 99,100,101,102,103,104,105,106,107,108,109,110,111,112
- dc.b 113,114
- scrollsubs:
- dc.b 112,111,110,109,108,107,106,105,104,103,102,101,100,99,98
- dc.b 97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79
- dc.b 78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60
- dc.b 59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41
- dc.b 40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22
- dc.b 21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
- lamer:
- dc.b 3
- even
- font:
- blk.b 4352,0
- angels:
- blk.b 4704,0
- module:
- blk.b 18064,0
- b:
-